package cate.game.pvp.eliterace.handler;

import cate.game.pvp.eliterace.data.EliteRaceOpponent;
import cate.game.pvp.eliterace.data.EliteRacePs;
import cate.game.pvp.pointrace.data.PointRacePs;

import java.util.Comparator;
import java.util.List;

public interface EliteRacePsOperation {

    default boolean initialize() {
        return false;
    }

    EliteRacePs findOne(String uid);

    List<EliteRacePs> getSortedPs(Comparator<? super EliteRacePs> comparator);

    void update(EliteRacePs ps);

    List<EliteRaceOpponent> query(int srvId);

    @FunctionalInterface
    interface Initializer {
        List<PointRacePs> get();
    }
}
